
#import <Foundation/Foundation.h>
#import "AFNetWorking.h"

NS_ASSUME_NONNULL_BEGIN
// 成功的回调block
typedef void(^blockForSuccess)(NSURLResponse *operation,id successObject);
// 失败的回调block
typedef void(^blockForFailure)(NSError *error);
@interface AFNetManager : NSObject
/**
 单例
 */
+ (instancetype)shareManager;

/**
 GET请求

 @param urlString 接口
 @param parameter 参数
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)getDataWithURLString:(NSString *)urlString
                  parameters:(NSDictionary *)parameter
                     success:(blockForSuccess)success
                     failure:(blockForFailure)failure;

/**
 POST请求
 
 @param urlString 接口
 @param parameter 参数
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)postDataWithURLString:(NSString *)urlString
                   parameters:(NSDictionary *)parameter
                      success:(blockForSuccess)success
                      failure:(blockForFailure)failure;

/**
 delect请求
 
 @param urlString 接口
 @param parameter 参数
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)delectDataWithURLString:(NSString *)urlString
                   parameters:(NSDictionary *)parameter
                      success:(blockForSuccess)success
                      failure:(blockForFailure)failure;

/**
 上传单张图片接口

 @param URLString 接口
 @param parameters 参数
 @param data 图片
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)uploadWithURLString:(NSString *)URLString
                 parameters:(id)parameters
                uploadParam:(NSData*)data
                    success:(blockForSuccess)success
                    failure:(blockForFailure)failure;

/**
 上传多张图片接口

 @param URLString 接口
 @param parameters 参数
 @param dataArr 图片数组
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
-(void)uploadArrWithURLString:(NSString *)URLString
                   parameters:(id)parameters
                  uploadParam:(NSArray*)dataArr
                      success:(blockForSuccess)success
                      failure:(blockForFailure)failure;

/**
 GET请求------带路径

 @param urlString 接口
 @param path 路径
 @param parameter 参数
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)getDataWithURLString:(NSString *)urlString
                        path:(NSString *)path
                  parameters:(NSDictionary *)parameter
                     success:(blockForSuccess)success
                     failure:(blockForFailure)failure;


/**
 POST请求------带路径
 
 @param urlString 接口
 @param path 路径
 @param parameter 参数
 @param success 请求成功的回调
 @param failure 请求失败的回调
 */
- (void)postDataWithURLString:(NSString *)urlString
                         path:(NSString *)path
                   parameters:(NSDictionary *)parameter
                      success:(blockForSuccess)success
                      failure:(blockForFailure)failure;




@end

NS_ASSUME_NONNULL_END
